package com.virgo.demo.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.virgo.common.entity.ListDataVo;
import com.virgo.demo.system.domain.AdminUserDo;
import com.virgo.demo.system.domain.bo.AdminUserBo;
import com.virgo.demo.system.domain.vo.AdminUserVo;
import jakarta.servlet.http.HttpServletRequest;

public interface AdminUserService extends IService<AdminUserDo> {

	/**
	 * 根据账号查找用户
	 * @param adminName String
	 * @return AdminUserDo
	 */
	AdminUserDo loadByAdminName(String adminName);

	/**
	 * 登录后的记录
	 * @param adminUserDo AdminUserDo
	 */
	void doLoginAfter(AdminUserDo adminUserDo, String ip);

	/**
	 * 编辑管理员
	 * @param adminUserBo AdminUserBo
	 */
	void saveAdminUser(AdminUserBo adminUserBo);

	/**
	 * 删除用户
	 * @param ids String
	 */
	void deleteUser(String ids);

	/**
	 * 修改状态
	 * @param id Long
	 * @param status Long
	 */
	void updateStatus(Long id, Integer status);

	/**
	 * 重制登录密码
	 * @param id Long
	 * @param password String
	 */
	void resetPassword(Long id, String password);

	/**
	 * 管理员列表
	 * @param request HttpServletRequest
	 * @return ListDataVo<AdminUserVo>
	 */
	ListDataVo<AdminUserVo> findList(HttpServletRequest request);
}